vmx: Set HOST_FS and HOST_GS to unusable on vmexit.
authorKeir Fraser <keir@xensource.com>
Tue, 13 Nov 2007 18:30:47 +0000 (18:30 +0000)
committerKeir Fraser <keir@xensource.com>
Tue, 13 Nov 2007 18:30:47 +0000 (18:30 +0000)
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/hvm/vmx/vmcs.c

index 7c0d692b8ce733e20da1470a6468e17dd37e5192..2a84b38a34d2b19e63407c11dc4067743759ad80 100644 (file)
@@ -493,18 +493,10 @@ static int construct_vmcs(struct vcpu *v)
     __vmwrite(HOST_SS_SELECTOR, __HYPERVISOR_DS);
     __vmwrite(HOST_DS_SELECTOR, __HYPERVISOR_DS);
     __vmwrite(HOST_ES_SELECTOR, __HYPERVISOR_DS);
-#if defined(__i386__)
-    __vmwrite(HOST_FS_SELECTOR, __HYPERVISOR_DS);
-    __vmwrite(HOST_GS_SELECTOR, __HYPERVISOR_DS);
+    __vmwrite(HOST_FS_SELECTOR, 0);
+    __vmwrite(HOST_GS_SELECTOR, 0);
     __vmwrite(HOST_FS_BASE, 0);
     __vmwrite(HOST_GS_BASE, 0);
-#elif defined(__x86_64__)
-    {
-        unsigned long msr;
-        rdmsrl(MSR_FS_BASE, msr); __vmwrite(HOST_FS_BASE, msr);
-        rdmsrl(MSR_GS_BASE, msr); __vmwrite(HOST_GS_BASE, msr);
-    }
-#endif
 
     /* Host control registers. */
     __vmwrite(HOST_CR0, read_cr0() | X86_CR0_TS);